<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
</head>

<body>
  <script>
    // 面向对象开发的思想三个特点
    //封装 继承 多态
    // 1 原型式继承
    function Animal(color) {
      this.color = color;
      this.run = function () {
        console.log("跑")
      }
    }
    Animal.prototype.eat = function () {
      console.log("吃")
    }
    // 
    function Cat(name) {
      this.name = name;
      this.jump = function () {
        console.log("跑")
      }
    }
    //原型式继承
    Cat.prototype = new Animal("黑色")//******************************8
    var tom = new Cat("汤姆")
    tom.run();
    tom.eat();
    console.log(tom.color)
    // 　缺点：1、新实例无法向父类构造函数传参。
      // 　2、继承单一。
      // 　3、所有新实例都会共享父类实例的属性。

  </script>
</body>

</html>